﻿using System.Collections.Generic;
using System.Reflection;
using Autofac;
using Autofac.Core;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Routing;

namespace ZilLion.Service.Core.Ioc
{
    public interface IComponentLoader : IModule
    {
        void Register(ContainerBuilder builder);
        void SetComponentAssembly(Assembly assembly);
        void ConfigureSpecialRoute(IRouteBuilder routeBuilder);

        /// <summary>
        ///     每个模块自己的JWT 拦截策略
        /// </summary>
        /// <param name="formpayload"></param>
        /// <param name="context"></param>
        /// <returns></returns>
        Dictionary<string, string> InterceptJwtpayload(Dictionary<string, string> formpayload);
    }
}